class code1 {
    //bfs+队列
    public List<List<Integer>> levelOrder(Node root) {
        List<List<Integer>> ret = new ArrayList<>();
        if(root==null) return ret;
        Queue<Node> q = new LinkedList<>();
        q.add(root);

        while(!q.isEmpty()) {
            int sz = q.size();
            List<Integer> tmp = new ArrayList<>();//统计本层的节点
            for(int i=0;i<sz;i++) {
                Node t = q.poll();
                tmp.add(t.val);
                for(Node x:t.children) {
                    q.add(x);
                }
            }
            ret.add(tmp);
        }

        return ret;
    }
}
